// pages/search/index.js
import {
  getGoodList
} from "../../request/api.js"
Page({

  /**
   * 页面的初始数据
   */
  data: {
    keyword: "",
    goodList: []

  },
  timer: null,
  isNext:true,
  //定义的一个计时器 直击定义在page里 用的时候直接this.timer就用了
  handlerSearch(e) {

    this.setData({
      keyword: e.detail.value
    })
    //拿到input框输入的value值


    clearTimeout(this.timer)
    this.timer = setTimeout(() => {
      this.getSearchData()
    }, 500)
    // 防抖的代码 只执行一次

    // if(!this.isNext){
    //   return;
    // }
    
    // this.isNext=false;
    // setTimeout(()=>{
    //   this.getSearchData();
    //   this.isNext=true
    // },1000)
    //节流的代码 每过一秒钟 执行一次
    //在计时器等待执行的1s内 他是false 所以会直接return 就不能再执行了 



  },
  getSearchData() {
    getGoodList({
      query: this.data.keyword
    }).then(res => {
      console.log(res);

      this.setData({
        goodList: this.data.keyword == "" ? [] : res.goods
      })
      //因为有的商品含有空格 所以空也能搜到数据在这里 加一个三元运算符的判断

    })
    //这个接口可以根据搜索的内容返回商品列表
  }



})